ostree.git
13 years agoostadmin: [incompat syntax change] Allow deploying any revision
Colin Walters [Thu, 19 Jul 2012 19:11:14 +0000 (15:11 -0400)]
ostadmin: [incompat syntax change] Allow deploying any revision

The old command line syntax assumed you wanted the latest from
a given revision, but to bisect, you really want the ability
to deploy any given one.

Old:
$ ostadmin deploy gnomeos-3.6-i686-{runtime,devel}

New:

$ ostadmin deploy trees/gnomeos-3.6-i686-runtime
$ ostadmin deploy trees/gnomeos-3.6-i686-devel

And note that the deploy directory now changes to:
/ostree/trees/gnomeos-3.6-i686-devel

And now it's possible to:

$ ostadmin deploy trees/gnomeos-3.6-i686-devel trees/gnomeos-3.6-i686-devel^^^

13 years agopull: When --depth is specified, ensure we have all requested objects
Colin Walters [Thu, 26 Jul 2012 14:17:41 +0000 (10:17 -0400)]
pull: When --depth is specified, ensure we have all requested objects

We were previously optimizing by skipping object traversal if the refs
were unchanged, but if the user specifies a deeper depth than they did
before.

13 years agocore: Add context when we fail to chmod()/chown()
Colin Walters [Thu, 19 Jul 2012 15:01:39 +0000 (11:01 -0400)]
core: Add context when we fail to chmod()/chown()

This helps make things less confusing when we try to create a file not
owned by our uid, such as running ostree-pull as non-root on a
repository owned by root.

13 years agocore: Drop ot_clear_hashtable for g_clear_pointer()
Colin Walters [Tue, 17 Jul 2012 12:18:43 +0000 (08:18 -0400)]
core: Drop ot_clear_hashtable for g_clear_pointer()

13 years agocore: Drop ot_clear_ptrarray in favor of g_clear_pointer
Colin Walters [Tue, 17 Jul 2012 12:16:54 +0000 (08:16 -0400)]
core: Drop ot_clear_ptrarray in favor of g_clear_pointer

13 years agocore: Drop ot_clear_gvariant() in favor of g_clear_pointer
Colin Walters [Tue, 17 Jul 2012 12:14:33 +0000 (08:14 -0400)]
core: Drop ot_clear_gvariant() in favor of g_clear_pointer

13 years agocore: Remove ot_clear_checksum() in favor of g_clear_pointer()
Colin Walters [Tue, 17 Jul 2012 12:08:57 +0000 (08:08 -0400)]
core: Remove ot_clear_checksum() in favor of g_clear_pointer()

13 years agocore: Use g_spawn_check_exit_status()
Colin Walters [Tue, 17 Jul 2012 12:06:20 +0000 (08:06 -0400)]
core: Use g_spawn_check_exit_status()

13 years agopull: Only take up one terminal line for status output
Colin Walters [Tue, 17 Jul 2012 02:35:18 +0000 (22:35 -0400)]
pull: Only take up one terminal line for status output

And print total bytes transferred at the end.

13 years agoFix libgsystem submodule
Colin Walters [Sun, 15 Jul 2012 22:29:15 +0000 (18:29 -0400)]
Fix libgsystem submodule

13 years agoHard require GLib 2.34
Colin Walters [Sun, 15 Jul 2012 22:22:41 +0000 (18:22 -0400)]
Hard require GLib 2.34

Anyone wanting to build against an earlier version can use the
embedded-dependencies system.

13 years agoAdd libgsystem as git external
Colin Walters [Sun, 15 Jul 2012 15:51:57 +0000 (11:51 -0400)]
Add libgsystem as git external

Don't replace ot_lfree and stuff yet though...to much code churn.

13 years agopull: Correctly display concurrent libsoup requests
Colin Walters [Thu, 12 Jul 2012 15:19:15 +0000 (11:19 -0400)]
pull: Correctly display concurrent libsoup requests

The "status text" code was assuming that libsoup was only doing one
thing at a time, but that's never been the case.  Change the code to
display the status of all active requests.

13 years agocore: drop dead/unused code
Colin Walters [Sat, 30 Jun 2012 17:49:14 +0000 (13:49 -0400)]
core: drop dead/unused code

The daemon is a nice idea but needs a lot more thought.  Let's just
delete the unused code for now and come back to it later.

13 years agocore: Drop ot_gfile_new_for_path
Colin Walters [Sat, 30 Jun 2012 17:42:22 +0000 (13:42 -0400)]
core: Drop ot_gfile_new_for_path

Not necessary anymore since we switched to GIO_USE_VFS=local in the
binaries.

13 years agopull: Fix a memory leak
Colin Walters [Thu, 28 Jun 2012 19:18:10 +0000 (15:18 -0400)]
pull: Fix a memory leak

13 years agopull: Fix use-after-free in async fetcher
Colin Walters [Thu, 28 Jun 2012 19:06:18 +0000 (15:06 -0400)]
pull: Fix use-after-free in async fetcher

Refcount the pending data structure.

13 years agoRelease 2012.8
Colin Walters [Tue, 26 Jun 2012 22:28:59 +0000 (18:28 -0400)]
Release 2012.8

13 years agobuild: Use LDADD libraries to link with, not LDFLAGS
Colin Walters [Thu, 28 Jun 2012 02:37:17 +0000 (22:37 -0400)]
build: Use LDADD libraries to link with, not LDFLAGS

This should fix the build with embedded glib.

13 years agoMake more compiler warnings into errors
Colin Walters [Thu, 28 Jun 2012 00:26:08 +0000 (20:26 -0400)]
Make more compiler warnings into errors

In particular, I want -Werror=format=2 to catch format string bugs.

13 years agomain: Fix a format string error
Colin Walters [Thu, 28 Jun 2012 00:25:56 +0000 (20:25 -0400)]
main: Fix a format string error

13 years agoembedded deps: Properly quote/handle PATH/LDFLAGS
Colin Walters [Wed, 27 Jun 2012 19:39:13 +0000 (15:39 -0400)]
embedded deps: Properly quote/handle PATH/LDFLAGS

13 years agocore: Check out asynchronously
Colin Walters [Thu, 21 Jun 2012 12:06:27 +0000 (08:06 -0400)]
core: Check out asynchronously

This can be a large performance win in certain circumstances:

 * Cold buffer cache (we don't block the whole process)
 * Requiring a copy instead of hardlink

13 years agotests: Just use OT_TESTS_DEBUG to say "save test data"
Colin Walters [Thu, 21 Jun 2012 15:42:45 +0000 (11:42 -0400)]
tests: Just use OT_TESTS_DEBUG to say "save test data"

13 years agopull: Properly propagate errors
Colin Walters [Wed, 20 Jun 2012 19:42:41 +0000 (15:42 -0400)]
pull: Properly propagate errors

13 years agobuild: Fix syntax error in non-embedded build case
Colin Walters [Wed, 20 Jun 2012 19:42:19 +0000 (15:42 -0400)]
build: Fix syntax error in non-embedded build case

13 years agobuild: Various bugfixes for embedded-dependencies
Colin Walters [Tue, 19 Jun 2012 20:15:00 +0000 (16:15 -0400)]
build: Various bugfixes for embedded-dependencies

13 years agocore: Don't silence output of ostree-run-triggers
Colin Walters [Tue, 19 Jun 2012 20:14:31 +0000 (16:14 -0400)]
core: Don't silence output of ostree-run-triggers

We want to see which triggers are being run by default.

13 years agotriggers: Quiet GConf trigger
Colin Walters [Tue, 19 Jun 2012 19:03:16 +0000 (15:03 -0400)]
triggers: Quiet GConf trigger

The default is just way, way too verbose.

13 years agoSupport building with embedded libsoup
Colin Walters [Thu, 14 Jun 2012 20:22:23 +0000 (16:22 -0400)]
Support building with embedded libsoup

13 years agoSupport building with embedded glib
Colin Walters [Thu, 7 Jun 2012 21:21:55 +0000 (17:21 -0400)]
Support building with embedded glib

13 years agotriggers: Fix previous commit
Colin Walters [Thu, 14 Jun 2012 02:09:24 +0000 (22:09 -0400)]
triggers: Fix previous commit

13 years agoAdd fontconfig trigger
Adrian Perez [Wed, 13 Jun 2012 14:58:53 +0000 (17:58 +0300)]
Add fontconfig trigger

This wil regenerate the fontconfig caches, accounting for modifications in
the system font directories.

13 years agocore: Fall back to copying checkouts on EMLINK/EXDEV
Colin Walters [Tue, 12 Jun 2012 18:50:38 +0000 (14:50 -0400)]
core: Fall back to copying checkouts on EMLINK/EXDEV

The previous fix to just ignore symbolic links for hard linking isn't
really good enough, since it can happen for empty files too.

Since this is an optimization, when we get EMLINK, let's instead just
fall back to copying.  This also applies to EXDEV.

13 years agoostbuild: Move to gnome-ostree module
Colin Walters [Fri, 8 Jun 2012 23:01:20 +0000 (19:01 -0400)]
ostbuild: Move to gnome-ostree module

Since we want to keep "ostree" buildsystem-independent, let's move
ostbuild out into the gnome-ostree module.

http://git.gnome.org/browse/gnome-ostree/commit/?id=04ba1926e33b442af1e357460e4415d4c0311e87

13 years agoostbuild: Fix previous commit (this should have been amended)
Colin Walters [Fri, 8 Jun 2012 20:51:51 +0000 (16:51 -0400)]
ostbuild: Fix previous commit (this should have been amended)

13 years agoostbuild: Fix -k option to git-mirror
Colin Walters [Fri, 8 Jun 2012 20:34:45 +0000 (16:34 -0400)]
ostbuild: Fix -k option to git-mirror

13 years agoostbuild: Allow specifying components to git fetch
Colin Walters [Thu, 7 Jun 2012 14:19:16 +0000 (10:19 -0400)]
ostbuild: Allow specifying components to git fetch

13 years agobuild: Actually, we need bleeding edge libsoup
Colin Walters [Thu, 7 Jun 2012 02:12:49 +0000 (22:12 -0400)]
build: Actually, we need bleeding edge libsoup

The stable version compiles, but just hangs =/

13 years agobuild: Bump libsoup dependency
Colin Walters [Thu, 7 Jun 2012 02:06:30 +0000 (22:06 -0400)]
build: Bump libsoup dependency

13 years agoostbuild: Add rootdir argument to deploy-qemu
Colin Walters [Wed, 6 Jun 2012 19:43:42 +0000 (15:43 -0400)]
ostbuild: Add rootdir argument to deploy-qemu

13 years agoostbuild: Fix circular dependency between resolve and git-mirror
Colin Walters [Wed, 6 Jun 2012 16:56:48 +0000 (12:56 -0400)]
ostbuild: Fix circular dependency between resolve and git-mirror

git-mirror was looking for the latest snapshot, which we don't
have until we resolve.

This leads to some code duplication.

13 years agocore: Fix mkdtemp invocation
Colin Walters [Wed, 6 Jun 2012 14:02:37 +0000 (10:02 -0400)]
core: Fix mkdtemp invocation

13 years agoostbuild: Add -k option to git-mirror
Colin Walters [Wed, 6 Jun 2012 02:55:47 +0000 (22:55 -0400)]
ostbuild: Add -k option to git-mirror

libwacom's sourceforge git server was down...

13 years agopull: Download and checksum asynchronously
Colin Walters [Sun, 20 May 2012 20:21:57 +0000 (16:21 -0400)]
pull: Download and checksum asynchronously

This is quite a noticeable speedup when downloading loose objects.

13 years agocore: Fix memory leak
Colin Walters [Tue, 5 Jun 2012 22:29:32 +0000 (18:29 -0400)]
core: Fix memory leak

13 years agocore: Just require libsoup, not libsoup-gnome
Colin Walters [Thu, 31 May 2012 14:25:41 +0000 (10:25 -0400)]
core: Just require libsoup, not libsoup-gnome

13 years agoTODO: Update
Colin Walters [Thu, 31 May 2012 14:10:13 +0000 (10:10 -0400)]
TODO: Update

13 years agocore: Switch to using mkdtemp() so we only depend on GLib 2.28
Colin Walters [Wed, 30 May 2012 02:34:11 +0000 (22:34 -0400)]
core: Switch to using mkdtemp() so we only depend on GLib 2.28

We claim to build against 2.28, let's actually make it work.

13 years agocore: Drop some dead temporary file code
Colin Walters [Wed, 30 May 2012 02:09:31 +0000 (22:09 -0400)]
core: Drop some dead temporary file code

13 years agoTrivial: fix a typo
Matthias Clasen [Sat, 26 May 2012 22:48:06 +0000 (18:48 -0400)]
Trivial: fix a typo

13 years agoostbuild: Have resolve use git-mirror rather than duplicating code
Colin Walters [Sat, 26 May 2012 16:10:51 +0000 (12:10 -0400)]
ostbuild: Have resolve use git-mirror rather than duplicating code

This also brings us back to a sensible world of:

ostbuild resolve --fetch

Doing both fetch *and* writing out the updated revisions.

13 years agocore: Don't checkout symbolic links via hardlink
Colin Walters [Sat, 26 May 2012 15:55:12 +0000 (11:55 -0400)]
core: Don't checkout symbolic links via hardlink

Doing so can easily get us up to the maximum ext4 hardlink count.

13 years agoostbuild: add --diffstat option for source-diff
Colin Walters [Fri, 25 May 2012 19:01:41 +0000 (15:01 -0400)]
ostbuild: add --diffstat option for source-diff

13 years agocore: use GLIB_VERSION_MAX_ALLOWED=2.28
Colin Walters [Fri, 25 May 2012 19:00:45 +0000 (15:00 -0400)]
core: use GLIB_VERSION_MAX_ALLOWED=2.28

We want to build/run even on relatively old OSes, so that we can
be used to bootstrap and maintain newer builds.

13 years agocore: Remove leftover debug print
Colin Walters [Fri, 25 May 2012 13:55:10 +0000 (09:55 -0400)]
core: Remove leftover debug print

13 years agoRelease 2012.7
Colin Walters [Fri, 25 May 2012 01:17:43 +0000 (21:17 -0400)]
Release 2012.7

13 years agocore: ostree-pull: Add --depth option
Colin Walters [Fri, 25 May 2012 00:58:20 +0000 (20:58 -0400)]
core: ostree-pull: Add --depth option

This is useful for getting say the last 10 builds.

13 years agocore: Attempt direct link() and fallback on EEXIST
Colin Walters [Fri, 25 May 2012 00:14:51 +0000 (20:14 -0400)]
core: Attempt direct link() and fallback on EEXIST

Rather than always doing:

1) make temporary link
2) unlink() target
3) rename()

Just try making the link, and only do the second two if the file
already exists.  This reduces system call traffic a lot.

13 years agoostbuild: Add 'tag' concept to manifest, improve git mirroring
Colin Walters [Thu, 24 May 2012 23:54:36 +0000 (19:54 -0400)]
ostbuild: Add 'tag' concept to manifest, improve git mirroring

We should explicitly distinguish between the case where we have a git
branch we're following, versus an immutable tag.  In the latter case,
we can entirely avoid running 'git fetch' for it once we have it.
This is a noticeable speedup in our current scenario of pinning WebKit
to a tag.

The git mirroring code now has a --fetch-skip-secs=X option which
allows us to basically run it in a loop, without hitting remote git
repositories too often.

13 years agoostbuild: git-mirror: Also fetch patches git
Colin Walters [Thu, 24 May 2012 22:11:06 +0000 (18:11 -0400)]
ostbuild: git-mirror: Also fetch patches git

13 years agocore: Make OstreeRepo struct private
Colin Walters [Wed, 23 May 2012 22:08:52 +0000 (18:08 -0400)]
core: Make OstreeRepo struct private

13 years agoostbuild: Fix --debug-shell option
Colin Walters [Wed, 23 May 2012 22:02:08 +0000 (18:02 -0400)]
ostbuild: Fix --debug-shell option

13 years agocore: Make device/inode loose object cache work for parent repos too
Colin Walters [Wed, 23 May 2012 11:48:16 +0000 (07:48 -0400)]
core: Make device/inode loose object cache work for parent repos too

Otherwise ostbuild suddenly becomes significantly slower when using a
shadow repo.

13 years agoostbuild: Few more misc fixes
Colin Walters [Tue, 22 May 2012 12:26:17 +0000 (08:26 -0400)]
ostbuild: Few more misc fixes

13 years agoostbuild: Fix typos in component lookup path
Colin Walters [Mon, 21 May 2012 22:41:59 +0000 (18:41 -0400)]
ostbuild: Fix typos in component lookup path

13 years agoostbuild: Enhance source-diff with --log and --logp options
Colin Walters [Sat, 19 May 2012 00:25:02 +0000 (20:25 -0400)]
ostbuild: Enhance source-diff with --log and --logp options

13 years agoostbuild: Add source-diff builtin
Colin Walters [Sat, 19 May 2012 00:12:35 +0000 (20:12 -0400)]
ostbuild: Add source-diff builtin

OMG OMG OMG

13 years agocore: Rearrange code for clarity (doesn't actually fix leaks)
Colin Walters [Sat, 19 May 2012 00:12:17 +0000 (20:12 -0400)]
core: Rearrange code for clarity (doesn't actually fix leaks)

13 years agoostbuild: Drop dead branch-prefix and pull-components
Colin Walters [Wed, 16 May 2012 13:23:24 +0000 (09:23 -0400)]
ostbuild: Drop dead branch-prefix and pull-components

And other various tweaks.

13 years agoostbuild: Various fixes, removal of dead code
Colin Walters [Tue, 15 May 2012 14:11:50 +0000 (10:11 -0400)]
ostbuild: Various fixes, removal of dead code

13 years agoostbuild: Remove /var from components
Colin Walters [Tue, 15 May 2012 12:54:44 +0000 (08:54 -0400)]
ostbuild: Remove /var from components

We expect them to create on demand.

13 years agoostbuild: Fix git-mirror
Colin Walters [Tue, 15 May 2012 12:39:17 +0000 (08:39 -0400)]
ostbuild: Fix git-mirror

13 years agoostbuild: Some work on qemu deployment
Colin Walters [Tue, 15 May 2012 02:43:25 +0000 (22:43 -0400)]
ostbuild: Some work on qemu deployment

13 years agoostadmin: Update for new trees/ location of trees
Colin Walters [Mon, 14 May 2012 13:29:38 +0000 (09:29 -0400)]
ostadmin: Update for new trees/ location of trees

13 years agoostbuild: Add import-tree
Colin Walters [Tue, 15 May 2012 00:47:14 +0000 (20:47 -0400)]
ostbuild: Add import-tree

This is the new workflow:

$ ostbuild import-tree wip-gnome-menus-3.6
$ $EDITOR ~/build/ostbuild/snapshots/wip-gnome-menus-3.6-2012.1-abcd.json
$ ostbuild build

13 years agoostbuild: Tighten build process significantly
Colin Walters [Sun, 13 May 2012 19:53:55 +0000 (15:53 -0400)]
ostbuild: Tighten build process significantly

First, "resolve" now just picks git commits.  We don't expand
config-opts and patches, nor do we generate tree contents.  This makes
the generated files *much* more human editable.

Next, fold "build-components" and "compose" into just "build".  One
never really wants to just build components.  This lets us eliminate
binary snapshots as a concept; instead we always have a combination of
source snapshot and component/ refs.

13 years agoostbuild: More work on partial builds
Colin Walters [Sat, 12 May 2012 14:42:23 +0000 (10:42 -0400)]
ostbuild: More work on partial builds

13 years agoostbuild: Make partial builds work
Colin Walters [Fri, 11 May 2012 22:22:28 +0000 (18:22 -0400)]
ostbuild: Make partial builds work

If we have component-revisions in our source+binary snapshot, then
we can skip them.

13 years agoostbuild: Write out related objects on composes
Colin Walters [Fri, 11 May 2012 20:24:32 +0000 (16:24 -0400)]
ostbuild: Write out related objects on composes

13 years agoostbuild: Minor fixes
Colin Walters [Fri, 11 May 2012 20:24:23 +0000 (16:24 -0400)]
ostbuild: Minor fixes

13 years agoostbuild: Make binary snapshots an extension of source
Colin Walters [Thu, 10 May 2012 23:07:54 +0000 (19:07 -0400)]
ostbuild: Make binary snapshots an extension of source

This significantly simplifies things; we no longer need to retrieve
individual components via 'pull-components', etc.

13 years agotests: Tweak valgrind suppression
Colin Walters [Tue, 15 May 2012 14:43:55 +0000 (10:43 -0400)]
tests: Tweak valgrind suppression

13 years agocore: Prefer packed metadata
Colin Walters [Tue, 15 May 2012 02:23:01 +0000 (22:23 -0400)]
core: Prefer packed metadata

13 years agocore: Map metadata from repository as trusted
Colin Walters [Mon, 14 May 2012 19:49:49 +0000 (15:49 -0400)]
core: Map metadata from repository as trusted

ot_util_variant_map() assumed untrusted; add a boolean, and use it for
the repository internals.

13 years agocore: Limit recursion during traversal
Colin Walters [Tue, 15 May 2012 21:49:59 +0000 (17:49 -0400)]
core: Limit recursion during traversal

The related objects commit introduced OSTREE_MAX_RECURSION; use it.

13 years agocore: Add write-refs builtin
Colin Walters [Tue, 15 May 2012 00:46:41 +0000 (20:46 -0400)]
core: Add write-refs builtin

This will be used by import-tree to pipe refs to write.

13 years agocore: Allow adding related objects to commits
Colin Walters [Fri, 11 May 2012 20:23:28 +0000 (16:23 -0400)]
core: Allow adding related objects to commits

This will be used to store the set of components.

13 years agocore: Really fix saving variants with REPLACE_DESTINATION
Colin Walters [Mon, 14 May 2012 16:26:15 +0000 (12:26 -0400)]
core: Really fix saving variants with REPLACE_DESTINATION

13 years agocore: Make argument parsing more robust against "lt-ostree" name
Colin Walters [Mon, 14 May 2012 15:31:53 +0000 (11:31 -0400)]
core: Make argument parsing more robust against "lt-ostree" name

When running uninstalled, we were parsing our argv[0] incorrectly.

13 years agocore: Replace pack superindex via rename() rather than truncating
Colin Walters [Mon, 14 May 2012 14:21:05 +0000 (10:21 -0400)]
core: Replace pack superindex via rename() rather than truncating

This helps allow cloning repositories via "cp -al".

13 years agocore: Clarify error message
Colin Walters [Mon, 14 May 2012 15:15:24 +0000 (11:15 -0400)]
core: Clarify error message

13 years agoostree-pull: Avoid an uninitialized variable warning
Matthias Clasen [Tue, 8 May 2012 03:19:21 +0000 (23:19 -0400)]
ostree-pull: Avoid an uninitialized variable warning

13 years agocore: fix a typo
Matthias Clasen [Fri, 11 May 2012 01:00:48 +0000 (21:00 -0400)]
core: fix a typo

ostree config had two 'set' subcommands, but no 'get'.

13 years agocore: Don't look in packs if we found loose object
Colin Walters [Sat, 12 May 2012 14:39:39 +0000 (10:39 -0400)]
core: Don't look in packs if we found loose object

Unless the caller wants us to; which at present none do, but let's be
forward looking and add an option.

13 years agoostbuild: Add ostree-revision in buildroots, bin-to-src
Colin Walters [Thu, 10 May 2012 18:29:23 +0000 (14:29 -0400)]
ostbuild: Add ostree-revision in buildroots, bin-to-src

First, for binary snapshots we need to include the exact revision of
the architecture buildroot.  To do that, introduce
"architecture-buildroots2".

Second, for bin-to-src, we'd like to allow "partial" builds.  So while
we do expand everything to source, *also* include the binary
ostree-revision.  This will allow building just one component, while
reusing the previously built binaries.

13 years agoostbuild: Fix pull-components
Colin Walters [Thu, 10 May 2012 14:30:02 +0000 (10:30 -0400)]
ostbuild: Fix pull-components

We need to pull the actual commits, not the refs.

13 years agopull: Use API to stage files with length
Colin Walters [Thu, 10 May 2012 14:29:26 +0000 (10:29 -0400)]
pull: Use API to stage files with length

Not doing so at the moment triggers a bug in the staging path, and
it's more efficient anyways.

13 years agopull: Add --prefer-loose option
Colin Walters [Thu, 10 May 2012 13:54:56 +0000 (09:54 -0400)]
pull: Add --prefer-loose option

This is a hack...

13 years agocore: unpack: Add --keep-packs option
Colin Walters [Thu, 10 May 2012 13:47:24 +0000 (09:47 -0400)]
core: unpack: Add --keep-packs option

Matches the pack --keep-all-loose.